1. Field of the Invention
The present invention generally relates to computer databases. More specifically, the present invention relates to database applications for querying, displaying, and rendering data retrieved from a computer database.
2. Description of the Related Art
Databases are well known systems for information storage and retrieval. The most prevalent type of database used today is the relational database. A relational database stores data in a set of tables that may be reorganized and accessed in a number of different ways. A relational database management system (DBMS) uses relational techniques for storing and retrieving data.
Structured Query Language (SQL) is a well known database language that that includes commands for retrieving, storing, updating, and deleting data stored in a relational database. An SQL query is constructed as a text string that must strictly conform to the grammar requirements of the SQL query language. Further, an SQL query must be semantically correct to perform as desired by the user. That is, many syntactically correct SQL statements may fail to perform as desired due to semantic errors. Because of this complexity, database query applications are often used to assist a user in composing an SQL query of a relational database.
Although SQL provides a flexible and powerful method to query a relational database, average users are often interested in viewing groups of records as they relate to a particular entity or concept. That is, users are interested in viewing query results that display how different elements of data about the entity or concept are related to one another, and not simply in viewing rows of a relational table. Also, once query results are displayed, a user may desire to change the entity or concept used to organize and present the query results. For example, a user viewing query results from one perspective (e.g., patients) may, based on the actual query results, desire to view the same query results from another perspective (e.g., doctors).
Presenting data as query results in the form of a relational table, therefore, often fails to represent or display all the information users are interested in seeing. Further, facts that are related to a particular entity or concept often occur over time. Some events occupy a single point in time (e.g., an occurrence of a medical test with a test result value) while others occur over a duration (e.g., a medical condition or period of employment). Displaying query results as a relational table often fails to capture, display, or represent these attributes inherent in the query results. Moreover, the complexity of composing an SQL query using a relational database often discourages users from accessing and displaying desired query results.
Accordingly, there remains a need for techniques for conveying data stored in a database that is all related to a central entity or concept. Such techniques should capture and display the temporal relationships among data elements that are related to a central entity or concept being queried. Further, users should be allowed to switch from data displayed relative to one central entity or concept to other perspectives of the same data.